package com.hxkj.mutual;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * 代发订单。
 *
 */
public class LoanRequestContent extends OutsideRequestContent {
	
	private static final long serialVersionUID = -4482620359244548451L;
	
	/** 金额，单位：元 */
	@NotNull
	@Size(min = 1, max = 15)
	private String amount;
	
	/**
	 * 账户名:收款人为个人时，为用户银行卡的户名，如张三； 收款人为公司时，为公司账户的开户名，如北京xxx有限公司
	 */
	@NotNull
	@Size(min = 1, max = 30)
	private String accountName;
	
	/**
	 * 身份证号码:收款人为个人时，为用户个人的身份证号，支持最后一位输入大写或小写的X 收款人为公司时，则不传
	 */
	@Size(min = 1, max = 30)
	private String certNo;
	
	/**
	 * 账号:收款人为个人时，为用户个人的银行卡号；收款人为公司时，为公司银行账户；（后期可能为支付账户ID
	 */
	@NotNull
	@Size(min = 1, max = 30)
	private String accountNo;
	
	/**
	 * 收款账户类型:对公银行账户，对私银行账户，（后期可能拓展易极付账户、微众账户） PUBLIC：对公； PRIVATE：对私；
	 * 
	 */
	@NotNull
	@Size(min = 1, max = 10)
	private String accountType;
	
	/**
	 * 银行编码:收款人为公司时，必填银行编码
	 */
	@Size(max = 30)
	@NotNull
	private String bankId;
	
	/**
	 * 用途:代发，（后期扩展提现、转账）
	 */
	@Size(max = 30)
	private String purpose;
	
	/**
	 * 收款账户开户行名称 :收款人为公司时，必填
	 */
	@Size(max = 20)
	private String bankName;
	
	/**
	 * 收款人账户联行号 :收款人为公司时，必填
	 */
	@Size(max = 30)
	private String bankType;
	
	public String getAmount() {
		return this.amount;
	}
	
	public void setAmount(String amount) {
		this.amount = amount;
	}
	
	public String getAccountName() {
		return this.accountName;
	}
	
	public void setAccountName(String accountName) {
		this.accountName = accountName;
	}
	
	public String getCertNo() {
		return this.certNo;
	}
	
	public void setCertNo(String certNo) {
		this.certNo = certNo;
	}
	
	public String getAccountNo() {
		return this.accountNo;
	}
	
	public void setAccountNo(String accountNo) {
		this.accountNo = accountNo;
	}
	
	public String getAccountType() {
		return this.accountType;
	}
	
	public void setAccountType(String accountType) {
		this.accountType = accountType;
	}
	
	public String getBankId() {
		return this.bankId;
	}
	
	public void setBankId(String bankId) {
		this.bankId = bankId;
	}
	
	public String getPurpose() {
		return this.purpose;
	}
	
	public void setPurpose(String purpose) {
		this.purpose = purpose;
	}
	
	public String getBankName() {
		return this.bankName;
	}
	
	public void setBankName(String bankName) {
		this.bankName = bankName;
	}
	
	public String getBankType() {
		return this.bankType;
	}
	
	public void setBankType(String bankType) {
		this.bankType = bankType;
	}
	
}
